Systems and Methods for Performing Color Adjustment of Pixels on a Color Display

ABSTRACT

System and methods are provided for performing saturation adjustment of one or more pixels. In one embodiment, an input color value of a pixel is received. The input color value includes an input saturation component. An adjusted color value is extracted from a predetermined look-up table that maps the input color value to the adjusted color value, the adjusted color value having an adjusted saturation component that is different from the input saturation component. The adjusted color value is output.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to and benefit from U.S. ProvisionalPatent Application No. 61/437,943, filed on Jan. 31, 2011, and entitled“Methods to Enhance EPD Color Display For Real Time Implementation,” theentirety of which is incorporated herein by reference.

FIELD

The technology described in this patent document relates generally toimage processing.

BACKGROUND

Various display technologies have been developed for differentapplications. For example, electrophoretic displays (EPDs) are designedfor electronic paper applications to mimic an appearance of ordinary inkon paper. An EPD generally includes a plurality of charged particlesdispersed in an electrophoretic layer. The charged particles migrateunder influence of an electric field to reflect ambient light fordisplaying images.

Conventionally, EPD panels are monochrome, typically with 16 levels ofgrayscale. Lately, color EPD panels have been developed by adding colorfilter array (CFA) over the monochrome EPD panels. These color EPDpanels have certain disadvantages in brightness and color saturation,because the CFA passes through only a fraction of visible light andattenuates both incident light and reflected light significantly.Therefore, it is highly desirable to boost the color saturation for EPDcolor panels.

Because input image data for an EPD color panel are often represented ina red-green-blue (RGB) color space, a conventional approach to enhancecolor EPD's brightness and color saturation is to boost the RGB valuesof pixels on an EPD color panel by a certain amount. However, thisapproach often causes color shifting and results in loss of colorfidelity.

There is another conventional approach to enhance brightness and colorsaturation of EPD color panels. Input image data can be converted fromthe RGB color space to a hue-saturation-lightness (HSL) color space, thesaturation values of the HSL image data may be adjusted, and then theadjusted HSL image data may be converted back to the RGB color space.FIG. 1 illustrates a conventional system 100 for performing saturationadjustment of input color values. A color space converter 102 convertsan RGB representation 104 of an input pixel color value 106 into an HSLrepresentation 108 that includes a hue value, a saturation value and alightness value. A saturation-adjustment component 110 adjusts thesaturation value of the HSL representation 108, and outputs a new HSLrepresentation 112. A color space converter 114 converts the new HSLrepresentation 112 into a new RGB representation 116 which is output forproviding an adjusted pixel color value 118.

SUMMARY

In accordance with the teachings described herein, systems and methodsare provided for performing saturation adjustment of one or more pixels.In one embodiment, an input RGB color value of a pixel is received, theinput color value including an input saturation. An adjusted color valuefrom a predetermined look-up table that maps the input color value tothe adjusted color value is extracted using a data processor, theadjusted color value having an adjusted saturation that is differentfrom the input saturation. Additionally, the adjusted color value isoutput in RGB.

In another embodiment, a processor-implemented method is provided forperforming saturation adjustment of one or more pixels. An input RGBcolor value of a pixel is received, the input color value including aninput saturation. An adjusted color value based on a predeterminedsaturation-adjustment matrix is generated using a data processor, theadjusted color value having an adjusted saturation that is differentfrom the input saturation. Moreover, the adjusted color value is outputin RGB.

In yet another embodiment, a processor-implemented system for performingsaturation adjustment of one or more pixels includes one or more dataprocessors and a computer-readable storage medium. The computer-readablestorage medium is encoded with instructions for commanding the one ormore data processors to execute steps including: receiving an input RGBcolor value of a pixel, the input color value including an inputsaturation, extracting, using a data processor, an adjusted color valuefrom a predetermined look-up table that maps the input color value tothe adjusted color value, the adjusted color value having an adjustedsaturation that is different from the input saturation, and outputtingthe adjusted RGB color value.

According to another embodiment, a processor-implemented system forperforming saturation adjustment of one or more pixels includes one ormore data processors and a computer-readable storage medium. Thecomputer-readable storage medium is encoded with instructions forcommanding the one or more data processors to execute steps including:receiving an input RGB color value of a pixel, the input color valueincluding an input saturation, generating, using a data processor, anadjusted color value based on a predetermined saturation-adjustmentmatrix, the adjusted color value having an adjusted saturation that isdifferent from the input saturation, and outputting the adjusted RGBcolor value.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a conventional system for performing saturationadjustment of input color values.

FIG. 2 depicts an example system for generating a look-up table forsaturation adjustment.

FIG. 3 depicts an example system for performing saturation adjustmentusing a predetermined look-up table.

FIG. 4 illustrates an example flow diagram depicting a method forgenerating a look-up table for saturation adjustment.

FIG. 5 illustrates an example flow diagram depicting a method forperforming saturation adjustment using a predetermined look-up table.

FIG. 6 illustrates an example scheme for performing saturationadjustment using a predetermined saturation-adjustment matrix.

FIG. 7 illustrates an example flow diagram depicting a method forperforming saturation adjustment using a predeterminedsaturation-adjustment matrix.

DETAILED DESCRIPTION

Referring to FIG. 1, if the system 100 is used for real-time processingof each pixel of an EPD display, a large amount of computation is oftennecessary, including floating point computations, which results in ahigh demand of resources and a low refresh rate. FIGS. 2 and 3illustrate an example of a more efficient way for performing saturationadjustment using a predetermined look-up table.

FIG. 2 depicts an example system 200 for generating a look-up table forsaturation adjustment. As shown in FIG. 2, a color space converter 202converts an RGB representation 204 of an original pixel color value 206into an HSL representation 208. A saturation-adjustment component 210adjusts the saturation value of the HSL representation 208, and outputsa new HSL representation 212. For example, the saturation value of theHSL representation 208 may be adjusted by a saturation factor of P,where P is larger than 1. A color space converter 214 converts the newHSL representation 212 into a new RGB representation 216 which indicatesan adjusted color value. A mapping between the original color value 206and the adjusted color value is stored in a look-up table 218.

Original pixel color values of each pixel of an EPD display may beprocessed similarly as discussed above, and mappings between theadjusted color values and the original pixel color values may be storedin the look-up table. During subsequent real-time processing of inputimage data, the predetermined look-up table may be loaded into a memoryand adjusted color values corresponding to input color values can beextracted from the look-up table by searching for original color valuesthat match the input color values, saving a significant amount ofcomputation time.

FIG. 3 depicts an example system 300 for performing saturationadjustment using a predetermined look-up table. In one embodiment, thepredetermined look-up table 306 may be generated in a way similar towhat is shown in FIG. 2. Once generated, the same look-up table 306 maybe used for subsequent processing of different input image data.

In operation, an input pixel color value 302 is received. The look-uptable 306 is searched based on a RGB representation 304 of the inputpixel color value 302. If an original color value in the look-up table306 is found to match the input pixel color value 302, an adjusted colorvalue 310 that is mapped to the original color value in the look-uptable 306 is output with an RGB representation 308.

FIG. 4 illustrates an example flow diagram depicting a method forgenerating a look-up table for saturation adjustment. At 402, anoriginal color value is received, where the original color value isrepresented in the RGB color space. The original color value isconverted from the RGB color space to the HSL color space to generate anHSL representation for the original color value at 404. The saturationcomponent of the HSL representation is changed, and an intermediate HSLrepresentation is generated at 406. At 408, the intermediate HSLrepresentation is converted back to the RGB color space to generate afinal RGB representation which depicts an adjusted color value. Amapping of the original color value and the adjusted color value isstored in a look-up table at 410. All original color values of pixels ona color display may be processed similarly to generate adjusted colorvalues to populate the look-up table for subsequent processing of inputimage data.

FIG. 5 illustrates an example flow diagram depicting a method forperforming saturation adjustment using a predetermined look-up table. At502, an input color value of a pixel is received. For example, the inputcolor value of the pixel is represented in the RGB color space. Apredetermined look-up table is searched for an original color value thatmatches the input color value, and an adjusted color value thatcorresponds to the original color value in the look-up table isextracted at 504. The adjusted color value is output at 506. Comparedwith the input color value, the adjusted color value indicates adifferent color saturation. For example, if both the adjusted colorvalue and the input color value are represented in the HSL color space,then the adjusted color value will have a higher saturation value thanthe input color value.

Alternatively, saturation adjustment of input image data may beperformed using a saturation-adjustment matrix. This may eliminate aneed for computation related to conversions between the RGB color spaceand the HSL color space. FIG. 6 illustrates an example scheme forperforming saturation adjustment using a predeterminedsaturation-adjustment matrix.

An input color value 602 is received. Saturation adjustment of the inputcolor value 602 is performed by multiplying an RGB representation 604 ofthe input pixel color value 602 by the predeterminedsaturation-adjustment matrix 606. A new RGB representation 608 is thusgenerated, and an adjusted color value 610 is output.

The saturation-adjustment matrix may be determined in various differentways. For example, the saturation-adjustment matrix 606 may be a 3×3matrix, such as

$\begin{bmatrix}C_{00} & C_{01} & C_{0\; 2} \\C_{10} & C_{11} & C_{12} \\C_{20} & C_{21} & C_{22}\end{bmatrix}.$

The coefficients of the 3×3 saturation-adjustment matrix 606 may bedetermined based on a saturation factor, SF, according to the followingequations.

C ₀₀=0.25×(1−SF)+0.5×SF; C ₀₁=0.50×(1−SF); C ₀₂=0.25×(1−SF);

C ₁₀=0.25×(1−SF); C ₁₁=0.50×(1−SF)+0.5×SF; C ₁₂=0.25×(1−SF);

C ₂₀=0.25×(1−SF); C ₂₁=0.50×(1−SF); C ₂₂=0.25×(1−SF)+0.5×SF.

For example, the value of the saturation factor, SF, may be between 1and 2. The coefficients of the saturation-adjustment matrix 606 may begenerated in fixed-point numbers to reduce computation time.

FIG. 7 illustrates an example flow diagram depicting a method forperforming saturation adjustment using a predeterminedsaturation-adjustment matrix. At 702, an input color value of a pixel isreceived. In this example, the input color value of the pixel isrepresented in the RGB color space. The RGB representation of the inputcolor value is multiplied by a predetermined saturation-adjustmentmatrix to generate a new RGB representation at 704. The new RGBrepresentation corresponds to an adjusted color value. The adjustedcolor value is output at 706.

This written description uses examples to disclose the invention,include the best mode, and also to enable a person skilled in the art tomake and use the invention. The patentable scope of the invention mayinclude other examples that occur to those skilled in the art. Forexample, systems and methods disclosed herein may be applied fordifferent color displays, such as liquid crystal displays, lightemitting diode displays, electroluminescent displays, plasma displaypanels, organic light emitting diode displays, surface-conductionelectron-emitter displays, and nanocrystal displays. As an example,systems and methods can be configured as disclosed herein to enhancecolor saturation with much lower computational demand.

1. A processor-implemented method for performing saturation adjustmentof one or more pixels, the method comprising: receiving an input colorvalue of a pixel, the input color value including an input saturationcomponent; extracting, using a data processor, an adjusted color valuefrom a predetermined look-up table that maps the input color value tothe adjusted color value, the adjusted color value having an adjustedsaturation component that is different from the input saturationcomponent; and outputting the adjusted color value.
 2. The method ofclaim 1, wherein the look-up table is generated through steps of:receiving an original color value represented in a red-green-blue (RGB)color space; converting the RGB representation of the original colorvalue to a representation in a hue-saturation-lightness (HSL) colorspace, the HSL representation of the original color value including anoriginal saturation component; generating an intermediate representationin the HSL color space by changing the original saturation component ofthe HSL representation of the original color value based on apredetermined criterion; converting the intermediate representation inthe HSL color space to a final representation in the RGB color space,the final representation in the RGB color space corresponding to a finalcolor value; and storing a mapping of the original color value and thefinal color value into the look-up table.
 3. The method of claim 2,wherein the input color value is represented in the RGB color space. 4.The method of claim 3, wherein the adjusted color value is representedin the RGB color space.
 5. The method of claim 2, wherein thepredetermined criterion includes multiplying the original saturationcomponent by a saturation-adjustment ratio.
 6. The method of claim 5,wherein the saturation-adjustment ratio is larger than
 1. 7. The methodof claim 1, wherein the one or more pixels are included in anelectrophoretic display.
 8. A processor-implemented method forperforming saturation adjustment of one or more pixels, the methodcomprising: receiving an input color value of a pixel, the input colorvalue including an input saturation component; generating, using a dataprocessor, an adjusted color value based on a predeterminedsaturation-adjustment matrix, the adjusted color value having anadjusted saturation component that is different from the inputsaturation component; and outputting the adjusted color value.
 9. Themethod of claim 8, wherein the input color value is represented in ared-green-blue (RGB) color space.
 10. The method of claim 9, wherein theadjusted color value is represented in the RGB color space.
 11. Themethod of claim 10, wherein the RGB representation of the adjusted colorvalue is generated by multiplying the RGB representation of the inputcolor value by the saturation-adjustment matrix.
 12. The method of claim11, wherein the saturation-adjustment matrix includes a 3×3 matrix$\begin{bmatrix}C_{00} & C_{01} & C_{0\; 2} \\C_{10} & C_{11} & C_{12} \\C_{20} & C_{21} & C_{22}\end{bmatrix}.$
 13. The method of claim 12, wherein in thesaturation-adjustment matrix,C ₀₀=0.25×(1−SF)+0.5×SF; C ₀₁=0.50×(1−SF); C ₀₂=0.25×(1−SF);C ₁₀=0.25×(1−SF); C ₁₁=0.50×(1−SF)+0.5×SF; C ₁₂=0.25×(1−SF);C ₂₀=0.25×(1−SF); C ₂₁=0.50×(1−SF); C ₂₂=0.25×(1−SF)+0.5×SF; where SFrepresents a saturation-adjustment ratio.
 14. The method of claim 13,wherein the saturation-adjustment ratio is between 1 and
 2. 15. Aprocessor-implemented system for performing saturation adjustment of oneor more pixels, said system comprising: one or more data processors; acomputer-readable storage medium encoded with instructions forcommanding the one or more data processors to execute steps including:receiving an input color value of a pixel, the input color valueincluding an input saturation component; extracting, using a dataprocessor, an adjusted color value from a predetermined look-up tablethat maps the input color value to the adjusted color value, theadjusted color value having an adjusted saturation component that isdifferent from the input saturation component; and outputting theadjusted color value.
 16. The system of claim 15, wherein theinstructions are adapted for commanding the one or more data processorsto generate the look-up table through steps including: receiving anoriginal color value represented in a red-green-blue (RGB) color space;converting the RGB representation of the original color value to arepresentation in a hue-saturation-lightness (HSL) color space, the HSLrepresentation of the original color value including an originalsaturation component; generating an intermediate representation in theHSL color space by changing the original saturation component of the HSLrepresentation of the original color value based on a predeterminedcriterion; converting the intermediate representation in the HSL colorspace to a final representation in the RGB color space, the finalrepresentation in the RGB color space corresponding to a final colorvalue; and storing a mapping of the original color value and the finalcolor value into the look-up table.
 17. The system of claim 16, whereinthe predetermined criterion includes multiplying the original saturationcomponent by a saturation-adjustment ratio.
 18. A processor-implementedsystem for performing color adjustment of one or more pixels, saidsystem comprising: one or more data processors; a computer-readablestorage medium encoded with instructions for commanding the one or moredata processors to execute steps including: receiving an input colorvalue of a pixel, the input color value including an input saturationcomponent; generating, using a data processor, an adjusted color valuebased on a predetermined saturation-adjustment matrix, the adjustedcolor value having an adjusted saturation component that is differentfrom the input saturation component; and outputting the adjusted colorvalue.
 19. The system of claim 18, wherein the input color value and theadjusted color value are represented in a red-green-blue (RGB) colorspace.
 20. The system of claim 19, wherein the RGB representation of theadjusted color value is generated by multiplying the RGB representationof the input color value by the saturation-adjustment matrix.